package com.groupbuying.redpacket.domain;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;

import java.math.BigDecimal;


/**
 * 红包任务表
 * 
 * @author vincnetxin
 * @email vincentxin@aliyun.com
 * @date 2019-11-12 14:54:23
 * @des
 */
public class RedPacketTaskDO implements Serializable {
	private static final long serialVersionUID = 1L;
	

	/**
	 * id
	 */
	private Long id;

	/**
	 * 主题
	 */
	private String theme;

	/**
	 * 轮次
	 */
	private Integer round;

	/**
	 * 启动方式
	 */
	private Integer startType;

	/**
	 * 持续时间
	 */
	private Integer keepTime;

	/**
	 * 开始时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private Date startTime;

	/**
	 * 结束时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private Date endTime;

	/**
	 * 总金额
	 */
	private BigDecimal totalAmount;

	/**
	 * 单人个数限制
	 */
	private Integer isCountLimit;

	/**
	 * 单人金额限制
	 */
	private Integer isAmountLimit;

	/**
	 * 单人个数
	 */
	private Integer singleCounts;

	/**
	 * 单人金额
	 */
	private BigDecimal singleTotalAmount;

	/**
	 * 执行状态:待执行-WAIT_FOR_EXEC-0,执行中-GOING-1,已执行-FINISHED-2
	 */
	private Integer executeState;

	/**
	 * 删除标志:未删除-UNDEL-1,删除-DEL-0
	 */
	private Integer isDelete;

	/**
	 * 更新时间
	 */
	private Date updateTime;

	/**
	 * 创建时间
	 */
	private Date createTime;

	/**
	 * 活动标识
	 */
	private String appFlag;

	/**
	 * 设置：id
	 */
	public void setId(Long id) {
		this.id = id;
	}
	/**
	 * 获取：id
	 */
	public Long getId() {
		return id;
	}
	/**
	 * 设置：主题
	 */
	public void setTheme(String theme) {
		this.theme = theme;
	}
	/**
	 * 获取：主题
	 */
	public String getTheme() {
		return theme;
	}
	/**
	 * 设置：轮次
	 */
	public void setRound(Integer round) {
		this.round = round;
	}
	/**
	 * 获取：轮次
	 */
	public Integer getRound() {
		return round;
	}
	/**
	 * 设置：启动方式
	 */
	public void setStartType(Integer startType) {
		this.startType = startType;
	}
	/**
	 * 获取：启动方式
	 */
	public Integer getStartType() {
		return startType;
	}
	/**
	 * 设置：持续时间
	 */
	public void setKeepTime(Integer keepTime) {
		this.keepTime = keepTime;
	}
	/**
	 * 获取：持续时间
	 */
	public Integer getKeepTime() {
		return keepTime;
	}
	/**
	 * 设置：开始时间
	 */
	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}
	/**
	 * 获取：开始时间
	 */
	public Date getStartTime() {
		return startTime;
	}
	/**
	 * 设置：结束时间
	 */
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	/**
	 * 获取：结束时间
	 */
	public Date getEndTime() {
		return endTime;
	}
	/**
	 * 设置：总金额
	 */
	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}
	/**
	 * 获取：总金额
	 */
	public BigDecimal getTotalAmount() {
		return totalAmount;
	}
	/**
	 * 设置：单人个数限制
	 */
	public void setIsCountLimit(Integer isCountLimit) {
		this.isCountLimit = isCountLimit;
	}
	/**
	 * 获取：单人个数限制
	 */
	public Integer getIsCountLimit() {
		return isCountLimit;
	}
	/**
	 * 设置：单人金额限制
	 */
	public void setIsAmountLimit(Integer isAmountLimit) {
		this.isAmountLimit = isAmountLimit;
	}
	/**
	 * 获取：单人金额限制
	 */
	public Integer getIsAmountLimit() {
		return isAmountLimit;
	}
	/**
	 * 设置：单人个数
	 */
	public void setSingleCounts(Integer singleCounts) {
		this.singleCounts = singleCounts;
	}
	/**
	 * 获取：单人个数
	 */
	public Integer getSingleCounts() {
		return singleCounts;
	}
	/**
	 * 设置：单人金额
	 */
	public void setSingleTotalAmount(BigDecimal singleTotalAmount) {
		this.singleTotalAmount = singleTotalAmount;
	}
	/**
	 * 获取：单人金额
	 */
	public BigDecimal getSingleTotalAmount() {
		return singleTotalAmount;
	}
	/**
	 * 设置：执行状态:待执行-WAIT_FOR_EXEC-0,执行中-GOING-1,已执行-FINISHED-2
	 */
	public void setExecuteState(Integer executeState) {
		this.executeState = executeState;
	}
	/**
	 * 获取：执行状态:待执行-WAIT_FOR_EXEC-0,执行中-GOING-1,已执行-FINISHED-2
	 */
	public Integer getExecuteState() {
		return executeState;
	}
	/**
	 * 设置：删除标志:未删除-UNDEL-1,删除-DEL-0
	 */
	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}
	/**
	 * 获取：删除标志:未删除-UNDEL-1,删除-DEL-0
	 */
	public Integer getIsDelete() {
		return isDelete;
	}
	/**
	 * 设置：更新时间
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	/**
	 * 获取：更新时间
	 */
	public Date getUpdateTime() {
		return updateTime;
	}
	/**
	 * 设置：创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	/**
	 * 获取：创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}
	/**
	 * 设置：活动标识
	 */
	public void setAppFlag(String appFlag) {
		this.appFlag = appFlag;
	}
	/**
	 * 获取：活动标识
	 */
	public String getAppFlag() {
		return appFlag;
	}

    @Override
    public String toString() {
        return "RedPacketTaskDO{" +
									                    "id=" + id +
					                										",theme=" + theme +
					                										",round=" + round +
					                										",startType=" + startType +
					                										",keepTime=" + keepTime +
					                										",startTime=" + startTime +
					                										",endTime=" + endTime +
					                										",totalAmount=" + totalAmount +
					                										",isCountLimit=" + isCountLimit +
					                										",isAmountLimit=" + isAmountLimit +
					                										",singleCounts=" + singleCounts +
					                										",singleTotalAmount=" + singleTotalAmount +
					                										",executeState=" + executeState +
					                										",isDelete=" + isDelete +
					                										",updateTime=" + updateTime +
					                										",createTime=" + createTime +
					                										",appFlag=" + appFlag +
					                				"}";
    }
}
